このページは、2008 年 4 月 8 日に最後に変更されました。

eDocs ホーム > BEA AquaLogic Data Services Platform 3.0/3.2 ドキュメント > ALDSP 3.2 新機能のドキュメント

ALDSP 3.2 で Web サービスから物理データ サービスを作成する方法

ALDSP 3.0 レベルの WSDL インポート機能に加えて、AquaLogic Common Component Service Consumption Framework (SCF) を介して WSDL ファイルを取得して利用できるようになりました。

このトピックは、ALDSP 3.0『データ サービス開発者ガイド』に含まれている同じトピックの改訂であり、Web サービスからの物理データ サービスの作成、および AquaLogic Common Navigation Framework についての一般的な情報を扱っています。

ALDSP 3.2 では、以下の 3 つのタイプの最上位レベル プロバイダが識別されます。

  • WSDL ファイル
  • URI
  • ALSB プロキシ

Web サービスとは、HTTP や SOAP など標準ベースのインターネット プロトコルだけでなく、アプリケーション アダプタを介してもアクセス可能な、完全に独立した、プラットフォームに依存しない、ビジネス論理単位です。

Web サービスにより、アプリケーション間の通信が著しく容易になります。そのため、Web サービスはエンタープライズ データ リソースにおいて、ますます中心的なものとなってきています。外部化された Web サービスのよく知られた例としては、Web アプリケーションに容易に統合できる更新頻度の高い天気ポートレットや株価ポートレットがあります。

同様に、Web サービスは、販売者から製造者への直送注文の追跡にも、効果的に利用できます。

トピック

物理データ サービスの作成ウィザードの設定

ウィザードを使用して物理データ サービスを作成します。

物理データ サービスの作成ウィザード

ウィザードの起動

物理データ サービスの作成ウィザードを起動するには、以下の手順に従います。

  1. データスペース プロジェクトまたはプロジェクト内の任意のフォルダを右クリックします。
  2. [新規|物理データ サービス] を選択します
新しい物理データ サービスの作成

Web サービスへのアクセス

Web サービスをデータ ソースとして選択した後、WSDL ファイル、URI、または ALSB プロキシ サービスを指定するためのオプションが表示されます。

Web サービスをデータ ソースとして選択する

特定の Web サービスにアクセスするには、以下の方法があります。

  • 現在の ALDSP プロジェクトにある Web サービス記述言語 (WSDL) ファイルから、または AquaLogic Common Component Service Consumption Framework (SCF) を介してアクセスする。
  • URL 経由でアクセス可能な WSDL からアクセスする。
  • ALSB プロキシ サービスを介してアクセスする。

WSDL ファイルの検索

WSDL ファイルは、以下の 2 通りの方法で選択できます。

  • プロジェクトから [参照] ボタンを使用して選択する。
  • Service Consumption Framework を介して、プロジェクトに WSDL をダウンロードする。

WSDL の参照

現在のデータスペース プロジェクトで、[参照] をクリックして WSDL に移動します。

Service Consumption Framework を介して WSDL ファイルをダウンロードする

Service Consumption Framework を介して WSDL ファイルをダウンロードするには、以下の手順に従います。

  1. [WSDL のダウンロード] をクリックします。
  2. 使用可能なサービス リソース オプションのいずれかを選択します。
  3. [OK] をクリックします。成功または失敗を示す SCF メッセージが表示されます。
  4. [次へ] をクリックします。
  5. 使用可能なオペレーションの中からいずれかを選択します。
    WSDL のダウンロードは、テキスト ファイルのダウンロードと同様です。プロジェクトにダウンロードした WSDL ファイルは、ローカル ファイルと同じように変更できます。この WSDL に対して行った変更は、ソース WSDL には反映されません。同様に、ソース WSDL への変更 (新たな操作や署名の変更) は、WSDL が再びダウンロードされ、再インポートされた場合にのみ反映されます。
Service Consumption Framework を使用した WSDL へのアクセス

以下の表では、使用可能なサービス リソースについて説明します。

リソース 説明
Enterprise Repository Enterprise Repository に関連するアーティファクト フォルダ内にある WSDL
UDDI UDDI レジストリに登録された UDDI リソース。
URI URI 経由でアクセス可能な有効な WSDL (または、主なダイアログから URI オプションを使用する)
File System ローカル ファイル システムから取得可能な WSDL
Workspace 作業領域の他のプロジェクトにある WSDL またはサービス (あるいは、現在のプロジェクトの主なダイアログで、WSDL に対して [参照] ボタンを使用する)。

製品タイプの選択

作業領域のサービス リソースに関しては、複数のタイプの製品からサービスを利用できます。デフォルトでは、以下の 3 つの製品タイプが使用できます。

  • 汎用 WSDL
  • SAM (Service Assembly Modeler)
  • AquaLogic Data Services Platform

AquaLogic Service Bus が存在する場合は、ALSB も使用可能です。

ALDSP 作業領域からの WSDL の選択

Enterprise Repository または作業領域オプションを使用して SCF を介して WSDL をダウンロードする場合、ALDSP または ALSB 製品タイプを使用すると、[プロジェクト エクスプローラ] の WSDL ファイルを右クリックして外部サービスへ移動のオプションを使用して WSDL で生成されたサービスを検索および表示できます。

WSDL URI の指定 

URI Web サービス データ ソース オプションから外部の WSDL を選択できます。

以下の WSDL を使用して、Web サービスに基づく物理データ サービスの作成機能をテストすることができます (本文書作成時点)。
http://www.whitemesa.net/wsdl/r2/base.wsdl


WSDL からのメタデータのインポート

ALSB プロキシ サービス オプション

AquaLogic Service Bus (ALSB) を使用して Web サービスにアクセスするには、以下の手順に従います。

  • アクセスと資格情報を AquaLogic Service Bus に提供します。 
  • プロキシ サービスを選択します (複数ある場合)。

AquaLogic Service Bus にアクセスするためには、以下の情報が必要です。

  • サーバ名
  • ポート番号
  • ユーザ名
  • パスワード

この情報は、AquaLogic Service Bus の管理者から入手できます。

ALDSP によるアクセスを有効にするために sb 転送プロトコルを使用するように ALSB プロキシ サービスをコンフィグレーションする必要があります。

必要な情報を提供した後、選択したプロキシ サービスを使用して WSDL が使用できるようになります。

Web サービスのインポート手順

  1. Web サービス URL、ローカル WSDL ファイル、または ALSB プロキシ サービスを指定します。
  2. [次へ] をクリックします。 

インポートする Web サービス オペレーションの選択

serviceName と portname でグループ化された利用可能な Web サービス オペレーションのリストから、データ サービス オペレーションとして扱うオペレーションを選択します。

Web サービス オペレーションの選択

インポート処理中、インポートするオペレーションの選択、名前と他の特性の設定を行います。この選択により、ライブラリまたはエンティティ データ サービスを作成するかどうかが決定されます。したがって、選択にあたっては Web サービスのオペレーションについての知識が必要となります。

既存のデータ サービスへのオペレーションの追加

同じ WSDL から外部の関数を追加して、web サービスに基づいた 既存の物理データ サービスにオペレーションを追加することができます。

既存の物理データ サービスに外部の関数の追加
データ サービスへの外部オペレーションの追加 

Web サービス オペレーションの選択手順

  1. データ サービスまたはライブラリ データ サービス関数に変換するオペレーションを選択します。
  2. [次へ] をクリックします。 

インポートされた Web サービス オペレーションの特性の設定

以下の表では、インポート対象の各オペレーションの利用可能なオプションについて説明 します。

インポートされた Web サービス オペレーションで利用可能なオプション
特性
オプション
コメント
Operation
必要に応じて調整
組み込みのライン エディタを使用して、提示された名前を任意の有効な XML 名に変更できます。
Public
Boolean
デフォルトでは、Web サービスから派生したオペレーションが保護されます。任意の関数やプロシージャをチェックボックスで Public とマークできます。(データサービスでは、オペレーションを必要に応じて Private とマークできます。)
Kind
  • 読み取り
  • 作成
  • 更新
  • 削除 
  • ライブラリ関数
  • ライブラリ プロシージャ
void を返すと判定されたオペレーションは、自動的にライブラリ プロシージャとしてマークされます。
提示された関数タイプは変更できます。インポートされる関数タイプは、ウィザードによって正しく設定されます。

作成、更新、または削除の関数としてマークされたオペレーションは、エンティティ データ サービスにパッケージ化されます。それ以外のオペレーションの場合、結果として得られるデータ サービスはライブラリ形式です。
Primary
Boolean
Web サービス オペレーションには適用されません。
Root Element
オペレーションのルート要素
複合データ型に対しては、最上位の要素が一覧に表示されます。RPC スタイルの Web サービスの場合は、生成された最上位の要素が一覧に表示されます。
Target Namespace インポートされた値 生成されたデータ サービスのターゲット ネームスペースを表します。 
インポートされた Web サービス オペレーションの特性の設定 

データ サービス名の設定

データ サービス名を現在のデータ スペース内の他の名前と衝突しない有効な名前に変更することができます。

また、同じ WSDL に基づくデータ サービスがプロジェクトにすでに存在する場合は、既存のデータ サービスに新しいオペレーションを追加するオプションが表示されます。

1 つ以上のスキーマが依存 (または参照) する Web サービス オペレーションをインポートする場合、ウィザードは内部命名規約に従い、第 2 レベルのスキーマを作成します。いくつかのオペレーションが同じ第 2 のスキーマを参照する場合、そのスキーマ用に生成された名前は、Web サービスを再インポートするか、または Web サービスと同期した場合には、変更されることがあります。

一般に利用可能なテスト WSDL

本文書の作成時点では、以下のサンプルの URI を使用して、WSDL をデータ サービスとしてインポートする実験ができます。

実装に関する注意

この節には、実装に関する注意があります。

RPC スタイルの Web サービスに基づいたデータ サービスを作成する時の考慮事項

RPC スタイルの Web サービスの場合、結果はスキーマ属性の設定に基づいて、修飾または非修飾として返されます。

elementFormDefault

一般に、Web サービスでは、elementFormDefault は任意の子要素に form 属性を設定することによってオーバーライドできます。ただし、RPC スタイルの Web サービスでは、グローバルな設定 (修飾または非修飾) だけが考慮されるため、このような個別設定は無視されます。

次に例を示します。

<s:schema elementFormDefault="qualified"
   targetNamespace="http://temp.openuri.org/SampleApp/CustomerOrder.xsd"
   xmlns:s0="http://temp.openuri.org/SampleApp/CustomerOrder.xsd"
   xmlns:s="http://www.w3.org/2001/XMLSchema">
  <s:complexType name="ORDER">
    <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" form="unqualified" name="ORDER_ID" type="s:string"/>
      <s:element minOccurs="0" maxOccurs="1" form="unqualified" name="CUSTOMER_ID" type="s:string"/>
    </s:sequence>
  </s:complexType>
</s:schema>

この コードでは、グローバル要素は修飾であり、子要素 (ORDER_ID) は非修飾です。

標準的な場合では、ORDER_ID 用の「非修飾」の特別な設定が受け付けられます。ただし、RPC スタイルの Web サービスの場合、ランタイムでは ORDER_ID を含めてすべての属性に対して「修飾」属性が生成されます。

RPC スタイルの Web サービス (ADO.NET で生成されたものなど) は、スキーマの elementFormDefault 宣言と一致しない「form」属性を持つ子要素を含む場合もあります。これらの Web サービスを実行可能なデータ サービス操作に変換するには、すべての form 要素の属性および elementFormDefault 属性 (「修飾」または「非修飾」) が一致するかどうかを確認します。

RPC モードの多次元配列

RPC モードの多次元配列はサポートされていません。

関連項目

インポートされた WSDL の SOAP ハンドラの作成方法

2008 年 4 月 10 日に 11:47 に Confluence によって作成されたドキュメント